<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Apache Derby Web Site</title>
<link type="text/css" href="../skin/page.css" rel="stylesheet">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<!--================= start Navigation Path ==================-->
<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
</tr>
<tr>
<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
</table>
<!--================= end Navigation Path ==================-->
<!--================= start Banner ==================-->
<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<!--================= start Group Logo ==================-->
<td bgcolor="#294563"><a href="http://incubator.apache.org"><img border="0" class="logoImage" alt="" src="../resources/images/apache-incubator.png" title="Derby is a zero admin java based embedded database."></a></td>
<!--================= end Group Logo ==================-->
<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/derby/"><img border="0" class="logoImage" alt="Derby" src="../images/derby-logo.jpg" title="Derby is a zero admin java based embedded database."></a></td>
<!--================= end Project Logo ==================-->
<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
<form target="_blank" action="http://www.google.com/search" method="get">
<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
<tr>
<td colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
<br>
<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
                      the Derby site
                      
                      
                    </font></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td><img alt="" border="0" height="10" width="9" src="../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="../skin/images/search-right.gif"></td>
</tr>
</table>
</form>
</td>
<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td valign="bottom" bgcolor="#294563" colspan="2">
<!--================= start Tabs ==================-->
<div class="tab">
<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="6"><img alt="" height="8" width="6" src="../skin/images/spacer.gif"></td><td valign="bottom">
<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a class="base-not-selected" href="../index.html">Home</a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../skin/images/tab-right.gif"></td>
</tr>
<tr>
<td colspan="3" height="1"></td>
</tr>
</table>
</td><td width="6"><img alt="" height="8" width="6" src="../skin/images/spacer.gif"></td><td valign="bottom">
<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a class="base-not-selected" href="../manuals/index.html">Manuals</a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../skin/images/tab-right.gif"></td>
</tr>
<tr>
<td colspan="3" height="1"></td>
</tr>
</table>
</td><td width="6"><img alt="" height="8" width="6" src="../skin/images/spacer.gif"></td><td valign="bottom">
<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="../papers/index.html">Papers</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../skin/images/tabSel-right.gif"></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<!--================= end Tabs ==================-->
</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
</table>
<!--================= end Banner ==================-->
<!--================= start Menu, NavBar, Content ==================-->
<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<table summary="menu" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--================= start left top NavBar ==================-->
<td rowspan="3" valign="top">
<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
</table>
</td>
<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
<!--================= start Menu items ==================-->
<div class="menu">
<ul>
<li>
<font color="#CFDCED">About</font>
<ul>
       
<li>
<a href="../papers/index.html">Index</a>
</li>
       
<li>
<span class="sel"><font color="#ffcc00">Derby Web Site</font></span>
</li>
  
</ul>
</li>
<li>
<font color="#CFDCED">Derby Engine</font>
<ul>
      
<li>
<a href="../papers/derby_arch.html">Architecture</a>
</li>
      
<li>
<a href="../papers/JDBCImplementation.html">JDBC</a>
</li>
      
<li>
<a href="../papers/../binaries/ApacheDerbyInternals_1_1.sxi">Internals</a>
</li>
  
</ul>
</li>
<li>
<font color="#CFDCED">Integration</font>
<ul>
      
<li>
<a href="../papers/../DOTS_Derby.html">DOTS + Derby</a>
</li>
      
<li>
<a href="../papers/../derby_resources.html">Resources</a>
</li>
      
<li>
<a href="../papers/misc.html">Miscellaneous</a>
</li>
  
</ul>
</li>
</ul>
</div>
<!--================= end Menu items ==================-->
</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../skin/images/menu-right.gif"></td>
</tr>
<tr>
<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
</table>
</td><td valign="top" width="100%">
<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
<!--================= start middle NavBar ==================-->
<tr>
<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
                &nbsp;
                
                </font><img width="10" height="8" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
                &nbsp;
                
                </font><img width="10" height="8" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<!--================= end middle NavBar ==================-->
<!--================= start Content==================-->
<tr>
<td align="left" width="10"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
<div class="content">
<table class="title" summary="">
<tr>
<td valign="middle">
<h1>Apache Derby Web Site</h1>
</td>
</tr>
</table>
<ul class="minitoc">
<li>
<a href="#Forrest+in+a+Nutshell">Forrest in a Nutshell</a>
</li>
<li>
<a href="#Testing+New+Pages+for+the+Derby+Site">Testing New Pages for the Derby Site</a>
<ul class="minitoc">
<li>
<a href="#Create+a+Forrest+seed+site">Create a Forrest seed site</a>
</li>
<li>
<a href="#Add+your+new+page+to+the+seed+site">Add your new page to the seed site</a>
</li>
</ul>
</li>
<li>
<a href="#Updating+the+Apache+Derby+web+site+">Updating the Apache Derby web site</a>
<ul class="minitoc">
<li>
<a href="#1.+Install+Forrest+on+your+machine">1. Install Forrest on your machine</a>
</li>
<li>
<a href="#2.+Check+out+the+Derby+web+site+pages+">2. Check out the Derby web site pages</a>
</li>
<li>
<a href="#3.+Modify+files+in+the+src+tree+">3. Modify files in the src tree</a>
</li>
<li>
<a href="#4.+Build+the+site+">4. Build the site</a>
</li>
<li>
<a href="#5.+Test+the+changes+">5. Test the changes</a>
</li>
<li>
<a href="#6.+Commit+changes+to+the+src+and+build%2Fsite+directories">6. Commit changes to the src and build/site directories</a>
</li>
<li>
<a href="#7.+Post+a+request+to+derby-dev+to+make+the+changes+visible">7. Post a request to derby-dev to make the changes visible</a>
</li>
<li>
<a href="#8.+Considering+a+quick+fix+to+the+build+tree%3F">8. Considering a quick fix to the build tree?</a>
</li>
</ul>
</li>
</ul> 


<p>
The Derby incubator project web site 
at
<a href="http://incubator.apache.org/derby">http://incubator.apache.org/derby</a>
uses 
<a href="http://forrest.apache.org">Forrest</a>.
Page source and built pages are managed in the Apache incubator 
Subversion repository.
This page introduces Forrest, 
suggests a way to test new pages using a local Forrest site,
and provides information for committers on how to update the 
Derby web site itself.
</p>


<a name="N10017"></a><a name="Forrest+in+a+Nutshell"></a>
<h3>Forrest in a Nutshell</h3>
<div style="margin-left: 0 ; border: 2px">
<p>
Apache Forrest is an XML documentation framework that is used for
generating static/dynamic web sites.
For many details, see
<a href="http://forrest.apache.org">forrest.apache.org</a>.
</p>
<p>
This web page walks you through using two Forrest commands:
'<span class="codefrag">forrest site</span>'
and
'<span class="codefrag">forrest run</span>'.
</p>
<p>
The '<span class="codefrag">forrest site</span>'
command consumes the source input files in the
<span class="codefrag">src</span> tree of the project hierarchy
and spits out a static site composed of HTML pages in the
<span class="codefrag">build</span> tree of the project hierarchy.
</p>
<p>
The '<span class="codefrag">forrest run</span>' command starts up the Jetty web server
that is included in the Forrest distribution on port 8888.
</p>
<div class="frame warning">
<div class="label">Warning</div>
<div class="content">
The Derby web site uses Forrest 0.5.1, 
which is 
<a href="http://nagoya.apache.org/eyebrowse/ReadMsg?listName=user@forrest.apache.org&msgNo=765">no longer</a>
the <a href="http://forrest.apache.org/mirrors.cgi">current official release</a>.
Until the Derby web site has been upgraded to use Forrest 0.6,
use Forrest 0.5.1 to build it.
</div>
</div>
</div>



<a name="N1004A"></a><a name="Testing+New+Pages+for+the+Derby+Site"></a>
<h3>Testing New Pages for the Derby Site</h3>
<div style="margin-left: 0 ; border: 2px">
<p>
The information in this section is intended for anyone 
who wants to develop content for the Derby web site
(in other words, for both committers and non-committers).
</p>
<p>
It takes 20-40 minutes to build the Derby web site, 
depending on the machine and the scope of the change. 
By comparison, 
the seed site used for testing the <em>Papers</em> tab 
took only 25 seconds to build.
So, it is much easier to integrate new pages by first
testing them outside the Derby web site source tree.
</p>
<a name="N10059"></a><a name="Create+a+Forrest+seed+site"></a>
<h4>Create a Forrest seed site</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
To get started:
</p>
<ul>
   
<li> Install Forrest 0.5.1.  </li>
   
<li> After it is installed, cd into the directory of your choice
        and enter '<span class="codefrag">forrest seed</span>' to initialize a new project.
   </li>
   
<li> Enter 'forrest site' to build the site. </li>
   
<li> Enter 'forrest run' to start the jetty server that is bundled
        with Forrest. </li>
   
<li> Point your browser at <span class="codefrag">localhost:8888</span>.  </li>
   
<li> Look at the sample pages that are included in the seed site.</li>

</ul>
</div>
<a name="N1007E"></a><a name="Add+your+new+page+to+the+seed+site"></a>
<h4>Add your new page to the seed site</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
Next, incorporate the new page(s) into the newly-created seed site:
</p>
<ul>
   
<li> If you have an HTML file, perhaps named <em>your_file.html</em>,
        one option is to copy it to a file named <em>your_file.ihtml</em>.
	Forrest will convert it into a new
        <em>your_file.html</em> file in the build tree -- and you may or may not
	like how Forrest formatted it.
	The <a href="JDBCImplementation.html">Derby JDBC Implementation
        Notes</a> paper is an example of an HTML document
        that is stored in the project source tree as an <span class="codefrag">ihtml</span> file.
	Likewise, all of the Derby document files are stored as
        <span class="codefrag">ihtml</span> files.
   </li>
   
<li> You can also create an XML file for it that uses the Forrest DTD.
	The <a href="derby_arch.html">Derby Engine 
	Architecture Overview</a> is an example.
        Also, the site you just seeded provides examples.
   </li>
   
<li> If you have a file that is ascii text, one option is to create
        an XML file and include it in a CDATA block, as shown below:

<pre class="code">
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" 
    "http://apache.org/forrest/dtd/document-v12.dtd"&gt;

&lt;document&gt;
 &lt;header&gt;
   &lt;title&gt;The Title of your Document&lt;/title&gt;
 &lt;/header&gt;

 &lt;body&gt;

    &lt;p&gt;An introductory blurb for your document.&lt;/p&gt;

    &lt;source&gt;&lt;![CDATA[
    <em>Put the contents of your text file here</em> ]]&gt;&lt;/source&gt;

 &lt;/body&gt;
&lt;/document&gt;
</pre>

   
</li>
   
<li>The seed site includes a "Samples" tab.
   After you create the file for Forrest to ingest,
   update the <span class="codefrag">src/documentation/content/xdocs/site.xml</span> file
   to include your new page in that tab, as shown below:
<pre class="code">
&lt;samples label="Samples" href="samples/" tab="samples"&gt;
  &lt;your_tag label="Your page" href="your_file.html" description="Your test page" /&gt;
</pre>
   Notice that at this point you need to refer to the file
   as <em>your_file.html</em> even if the source file is
   <em>your_file.ihtml</em> or
   <em>your_file.xml</em>.
   </li>
   
<li> Execute '<span class="codefrag">forrest site</span>' to rebuild your site.  </li>
   
<li> Restart the jetty server ('<span class="codefrag">forrest run</span>').</li>
   
<li> Do you like what Forrest did? If you don't, go back and tweak your
        source file. </li>

</ul>
</div>
<p>
When you're satisfied with how your new page looks on your seed site,
then it is ready to be added to the Derby web site by a Derby committer.
</p>
</div>


<a name="N100DA"></a><a name="Updating+the+Apache+Derby+web+site+"></a>
<h3>Updating the Apache Derby web site </h3>
<div style="margin-left: 0 ; border: 2px">
<p>
The information in this section is intended for committers
who need to add a page to the Derby web site or modify an existing page.
</p>
<a name="N100E3"></a><a name="1.+Install+Forrest+on+your+machine"></a>
<h4>1. Install Forrest on your machine</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
If you haven't installed Forrest yet,
<a href="#forrest">install Forrest 0.5.1</a> 
on your local system.
Then generate a seed project,
as described in the previous section,
and play with it to get comfortable working with Forrest.
</p>
</div>
<a name="N100F1"></a><a name="2.+Check+out+the+Derby+web+site+pages+"></a>
<h4>2. Check out the Derby web site pages </h4>
<div style="margin-left: 0 ; border: 2px">
<p>
Check the Derby web site files out of the Subversion repository:
</p>
<pre class="code">
svn co https://svn.apache.org/repos/asf/incubator/derby/site/trunk
</pre>
</div>
<a name="N10100"></a><a name="3.+Modify+files+in+the+src+tree+"></a>
<h4>3. Modify files in the src tree </h4>
<div style="margin-left: 0 ; border: 2px">
<p>
Source files are in the places listed below:
</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">

<tr>
  
<th colspan="1" rowspan="1"> Source File Location </th>
  <th colspan="1" rowspan="1"> File types </th>
  <th colspan="1" rowspan="1"> Comment</th>

</tr>

<tr>
   
<td colspan="1" rowspan="1"> <span class="codefrag">src/documentation/content/xdocs</span></td>
   <td colspan="1" rowspan="1"> Source files in formats Forrest can consume (*.xml and *.ihtml).</td>
   <td colspan="1" rowspan="1"> Forrest ingests these files, adds navigation and
        decorations, and outputs them as .html files to
        build/site and build/app.
   </td>

</tr>

<tr>
   
<td colspan="1" rowspan="1"> <span class="codefrag">src/documentation/content</span></td>
   <td colspan="1" rowspan="1"> Source HTML files you don't want Forrest to touch.</td>
   <td colspan="1" rowspan="1"> Forrest copies these files without modifying them to 
         build/site.
   </td>

</tr>

<tr>
    
<td colspan="1" rowspan="1"> <span class="codefrag">src/documentation/content/binaries</span></td>
    <td colspan="1" rowspan="1"> Binary files, such as *.tar.gz and *.ZIP. </td>
    <td colspan="1" rowspan="1"> Forrest copies these files without modifying them to 
         build/site/binaries.
    </td>

</tr>

</table>
<p>
What might be counter intuitive is 
the directory structure is different for the src and build trees.
Links in source files
need to point to the name and the location of the target file in the build tree.
</p>
<p>
Two files in <span class="codefrag">src/documentation/content/xdocs</span>
don't get output to the <span class="codefrag">build</span> tree, but control the information
and links in the resulting navigation bar:
</p>
<ul>
    
<li>
<p> 
<span class="codefrag">tabs.xml</span>: sets up the tabs for the web site.
        As of this writing there are three: <em>Home</em>, <em>Manuals</em>, 
	and <em>Papers</em>.
        Adding a tab is easy, but it also requires updates to the
        <span class="codefrag">site.xml</span>  file.
        </p>
    
</li>
    
<li> 
<p> 
<span class="codefrag">site.xml</span>: contains a site map for files on the site.
        If you add or delete a file you must update site.xml, which can be 
	 tricky.
        If you haven't updated it before, it might be a good idea to
	ask somebody already familiar with Forrest to help you the first time.
	You might notice entries for the <em>Manuals</em> tab that don't
	include a label; for example, below is the first entries for
	the <em>Getting Started</em> guide:
        </p>


<pre class="code">
     &lt;getstart label="Getting Started" href="getstart/"&gt;
         &lt;toc label="Table of Contents" href="gspr02.html"
             description="Table of Contents" /&gt;
         &lt;index label="Index" href="gspr40.html" description="Index" /&gt;
         &lt;gspr href="gspr.html"/&gt;
         &lt;gspr03 href="gspr03.html"/&gt;
         &lt;gspr04 href="gspr04.html"/&gt;
</pre>
          
<p>The tab for the built site lists the "Table of Contents" and
	  "Index" labels, but not the title and other pages.
	  Including the pages in the <span class="codefrag">site.xml</span> keeps them
	  associated with the tab.
	  Without that association, 
	  Forrest builds a remarkable left-hand
	  navigation tab that includes the entire site contents.
	  It's kind of exciting to see this side effect once, 
	  but then it gets tiresome.
	  </p>
    
</li>

</ul>
</div>
<a name="N10198"></a><a name="4.+Build+the+site+"></a>
<h4>4. Build the site </h4>
<div style="margin-left: 0 ; border: 2px">
<p>
After modifying files, you need to rebuild the site with the
'<span class="codefrag">forrest site</span>' command.
Do this in the directory that is one level above the
<span class="codefrag">src</span> 
and
<span class="codefrag">build</span> 
directories.
</p>
<p>
Because the Derby manuals are included in the web site,
'<span class="codefrag">forrest site</span>' takes a while, 
anywhere from 20 - 40 minutes, depending
on the machine.
</p>
</div>
<a name="N101B1"></a><a name="5.+Test+the+changes+"></a>
<h4>5. Test the changes </h4>
<div style="margin-left: 0 ; border: 2px">
<p>
Test your changes by starting the Jetty webserver that is included in
the Forrest distribution:
</p>
<pre class="code">
forrest run
</pre>
<p>
After it starts, point your browser at
<span class="codefrag">localhost:8888</span> and review the new or modified pages.
</p>
<p>
The breadcrumb trail will be different. Instead of this:
</p>
<pre class="code">
apache &gt; incubator &gt; derby
</pre>
<p>
You'll see this with your local Jetty server:
</p>
<pre class="code">
apache &gt; incubator 
</pre>
<p>
This is alright, if somewhat confusing.
The <span class="codefrag">skinconf.xml</span> specifies the base links for the trail,
then Javascript adds extra breadcrumbs for each directory after the domain.
<a href="http://forrest.apache.org/faq.html#breadcrumbs">Extra breadcrumbs
won't be added when the site is viewed locally.</a>

</p>
</div>
<a name="N101E0"></a><a name="6.+Commit+changes+to+the+src+and+build%2Fsite+directories"></a>
<h4>6. Commit changes to the src and build/site directories</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
You need to check in the pages that were modified in both the
<span class="codefrag">src</span> and
<span class="codefrag">build/site</span> trees.
The '<span class="codefrag">forrest site</span>' command also outputs 
<span class="codefrag">build/webapp</span> and
<span class="codefrag">build/tmp</span> directories,
but they aren't checked into the Subversion repository.
</p>
<p>
If you add / delete a file, you must 'svn add' or 'svn delete' it in
<span class="codefrag">src</span>,
<span class="codefrag">build/site</span>, and
<span class="codefrag">build/webapp</span>.
Do this after 'forrest site' has been run but before committing changes into Subversion.
</p>
<p>
When you're ready to commit,
one way is to enter the command shown below
from the directory that is one level above the
<span class="codefrag">src</span> and
<span class="codefrag">build</span> directories:
</p>
<pre class="code">
svn commit --message "here is my commit message" src build/site 
</pre>
</div>
<a name="N10213"></a><a name="7.+Post+a+request+to+derby-dev+to+make+the+changes+visible"></a>
<h4>7. Post a request to derby-dev to make the changes visible</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
Derby committers don't have access to the filesystem hosting the actual web site, 
so can't make web site changes visible
(for details, see <a href="http://nagoya.apache.org/eyebrowse/BrowseList?listName=derby-dev@db.apache.org&by=subject&from=634682&to=634682&first=1&count=6">this email thread</a>).
Post a request to 
<a href="../derby_mail.html">derby-dev@db.apache.org</a>, 
requesting an '<span class="codefrag">svn update</span>' for the web site.
</p>
</div>
<a name="N10228"></a><a name="8.+Considering+a+quick+fix+to+the+build+tree%3F"></a>
<h4>8. Considering a quick fix to the build tree?</h4>
<div style="margin-left: 0 ; border: 2px">
<p>
If you modify a file in the <span class="codefrag">build/site</span> tree, 
be sure to also change the source file in the <span class="codefrag">src</span> tree.
Otherwise, the next '<span class="codefrag">forrest site</span>' / 'svn commit'
will overwrite your changes to the build tree.
</p>
</div>
<p>
<em>Last updated November 11, 2004</em>
</p>
</div>


<div class="attribution"></div>
</div>
</td><td width="10"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<!--================= end Content==================-->
</table>
</td>
</tr>
</table>
<!--================= end Menu, NavBar, Content ==================-->
<!--================= start Footer ==================-->
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
<tr>
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
          2004&nbsp;Apache Software Foundation All rights reserved.<script type="text/javascript" language="JavaScript"><!--
              document.write(" - "+"Last Published: " + document.lastModified);
            //  --></script></font></td>
</tr>
<tr>
<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
</tr>
</table>
<!--================= end Footer ==================-->
</body>
</html>
